feat(identity): Phase 1 identity resources and data sources - #3
Merged
Conversation
Reference implementation for the framework CRUD port pattern: typed model with RequiresReplace/UseStateForUnknown plan modifiers and defaults, 404-as-removal in Read, and ImportState passthrough. Acceptance test (create/update/import with CheckDestroy + CheckExists) passes against the CE lab. Adds acctest.LabConfig helper so tests can query the API out of band, and registers the resource on the provider.
…ta sources All acceptance-tested against the CE lab (create/update/import, name/id lookups). - pcd_identity_role, pcd_identity_user (write-only password, preserved across Read) - pcd_identity_project / _user / _role data sources (lookup by name or id) - shared configureClient helper for resource/data-source ProviderData wiring
Completes the Phase 1 identity family; both acceptance-tested against the CE lab. - pcd_identity_role_assignment: composite id (domain/project/group/user/role), all-ForceNew, list-based existence check, import passthrough. Exactly one of user_id/group_id and one of project_id/domain_id is enforced. - pcd_identity_application_credential: create-only; the secret is returned once and preserved in state; created for the authenticated (token) user.
This was referenced Jul 11, 2026
PF9-pushkar
added a commit
that referenced
this pull request
Jul 14, 2026
feat(identity): Phase 1 identity resources and data sources
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 1 — identity (Keystone v3)
The first feature family for
terraform-provider-pcd. Every resource and data source isacceptance-tested green against the CE 2026.4 lab (create/update/import,
CheckDestroy,name/id lookups), serialized on the single lab.
Resources
pcd_identity_projectpcd_identity_rolepcd_identity_user— write-onlypassword, preserved across Read, ignored on importpcd_identity_role_assignment— composite iddomain/project/group/user/role, all-ForceNew, list-based existence check; exactly one ofuser_id/group_idand one ofproject_id/domain_idenforcedpcd_identity_application_credential— create-only; secret returned once and kept in state; created for the authenticated (token) userData sources
pcd_identity_project,pcd_identity_user,pcd_identity_role(lookup by name or id)Patterns established (reused by later families)
RequiresReplace/UseStateForUnknown, defaults, 404-as-removal in Read,ImportStatepassthrough.internal/acctestPreCheck+LabConfighelpers; per-resourceCheckDestroy/CheckExistsvia gophercloud.Test evidence
TF_ACC=1 make testaccfor./internal/services/identity/— 7/7 passing against the lab.Notes
cloud) and per-resourceregionoverride remain deferred (tracked inDECISIONS.md).